// vuex文件
import Vue from "vue";
import Vuex from 'vuex';
// 默认暴露的引入方式
// import state from './state';
// 单独暴露的引入方式  可以结构
// import {state} from './state';
// 统一暴露的引入方式 可以结构
// import {state} from './state';
import * as dali from './state';
import {getters} from './getters';
import mutations from './mutations';
import actions from './actions';
import cart_m from './cart';
import users_m from './users';
import persistedstate from 'vuex-persistedstate'


// 声明使用vue插件
Vue.use(Vuex);
// console.log(state);
// console.log(state1);
/* console.log(dali);
console.log(getters); */




export default new Vuex.Store({
    state:dali.state,
    getters,
    mutations,
    actions,
    modules:{
        //  namespaced: true在模块内部开启命名后，你在modules中该模块对应的key 就是该模块的名字
        cart_m,
        users_m,
    },
    plugins:[
        persistedstate({
            storage:window.localStorage,
            key:'dali',
            paths:['cart_m']
            // paths不指定全部存 指定谁存谁
        })
    ]
})


/* 
假如有购物车模块
cart

goods
price
sum
可能会有这些信息


*/

/* 
如何让vuex中的数据持久化存储（如何解决vuex中数据刷新丢失的现象）
将vuex中的数据存储到localstorage 或者sessionStorage  cookie
vuex-persistedstate
vuex-along


*/


